package com.lucy.nepu.module.book.params;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "著作更新参数")
public class BookUpdateParams {
    @NotBlank(message = "著作ID不可为空")
    @ApiModelProperty(value = "著作ID",name =  "id")
    String id;
    /**
     * 著作词典ID
     */
    @NotBlank(message = "著作词典ID不可为空")
    @ApiModelProperty(value = "著作词典ID",notes = "")
    String bookDictId;

    @NotBlank(message = "著作名称不可为空")
    @ApiModelProperty(value = "著作名称",notes = "")
    String bookName;
    /**
     * 字数 单位（万字）
     */
    @NotNull(message = "字数不可为空")
    @ApiModelProperty(value = "字数",notes = "单位（万字）")
    Double wordsNumber;

    /**
     * 出版时间
     */
    @ApiModelProperty(value = "出版时间")
    @NotEmpty(message = "出版时间不可为空")
    Date publicationDate;

    /**
     * 署名单位
     */
    @ApiModelProperty(value = "署名单位")
    @NotBlank(message = "署名单位不可为空")
    String signatureUnit;

    /**
     * 第一作者姓名
     */
    @NotBlank(message = "第一作者不可为空")
    @ApiModelProperty(value = "第一作者",notes = "")
    String firstAuthor;

    /**
     * 第一作者ID
     */
    @NotNull(message = "第一作者ID不可为空")
    @ApiModelProperty(value = "第一作者ID",notes = "")

    Long firstAuthorId;

    /**
     * 参与人员ID
     */
    @NotEmpty(message = "著作成员ID列表不可为空")
    @ApiModelProperty(value = "著书成员ID列表",notes = "")
    List<Long> userIdList;

    /**
     * 出版社
     */
    @NotBlank(message = "出版社不可为空")
    @ApiModelProperty(value = "出版社",notes = "")
    String publisher;

    @NotNull(message = "工作量不可为空")
    @ApiModelProperty(value = "工作量",notes = "")
    Integer workload;
}
